#pragma once

#include "entity.h"
#include "SGD Wrappers/SGD_Math.h"

class CUnit : public CEntity
{
private:
	tVector2D tVelocity;
	float fOrientation;
	float fModSpeed;
	float fModSpeedDuration;
	
public:
	tVector2D GetVelocity() const { return tVelocity; }
	float GetVelocityX() const { return tVelocity.fX; }
	float GetVelocityY() const { return tVelocity.fY; }
	float GetSpeed() const;
	float GetOrientation() const { return fOrientation; }
	float GetModSpeed() const { return fModSpeed; }
	float GetModSpeedDuration() const { return fModSpeedDuration; }

	void SetVelocity(tVector2D val) { tVelocity = val; }
	void SetVelocityX(float fX) { tVelocity.fX = fX; }
	void SetVelocityY(float fY) { tVelocity.fY = fY; }
	void SetSpeed(float fSpeed);
	void SetOrientation(float val) { fOrientation = val; }
	void SetModSpeed(float val) { fModSpeed = val; }
	void SetModSpeedDuration(float val) { fModSpeedDuration = val; }

	virtual void Update(float fElapsedTime) override;
	virtual void Render() override;
};

